package cn.wolfcode.education.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 学员考试管理
 * 潜在学员入学前需要进行摸底考试
 * 所以要关联潜在学员对象
 */
@Getter@Setter
public class ClientTest {
    /**
     * 定义考试状态的常量
     */
    public static final int STATIC_NOMEAL = 0;//未通过
    public static final int STATIC_LOCK = 1;//通过
    public static final int STATIC_NOTEST = 2;//未考试
    /**
     * 可以作为考试编码
     */
    private Long id;
    /**
     * 管理潜在学员客户
     */
    private Client client;
    /**
     * 设置考试时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date testTime;
    /**
     * 考试状态:未考试----通过-----未通过
     */
    private int testState = STATIC_NOTEST;

    public int getTestState() {
        //判断考试成绩
        if (testGrade != null){
            if (testGrade < 60 ){
                //未通过
                return STATIC_NOMEAL;
            }
            return STATIC_LOCK;
        }
        return testState;
    }
    public String getTestStateString() {
        //判断考试成绩
        if (testGrade != null){
            if (testGrade < 60 ){
                //未通过
                return "未通过";
            }
            return "通过";
        }
        return "未考试";
    }

    /**
     * 考试成绩--可以为空
     * 范围0----100
     */
    private Integer testGrade;
    /**
     * 处理人
     */
    private Employee handler;
    /**
     * 考试类型
     */
    private SystemDictionaryItem testType;
    /**
     * 备注:可以写通过的原因
     */
    private String remark;
}